Computer-aided techniques are known to include Computer-Aided Design or CAD, which relates to software solutions for authoring product design. Similarly, CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM stands for Computer-Aided Manufacturing and typically includes software solutions for defining manufacturing processes and operations.
A number of systems and programs are offered on the market for the design of objects (or parts) or assemblies of objects, forming a product, such as the one provided by Dassault Systèmes under the trademark CATIA. These CAD systems allow a user to construct and manipulate complex three dimensional (3D) models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS). These CAD systems manage parts or assemblies of parts as modeled objects, which are mostly specifications of geometry. Specifically, CAD files contain specifications, from which geometry is generated, which in turn allow for a representation to be generated. Geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of one Megabyte per part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
In computer-aided techniques, the graphical user interface (GUI) plays an important role as regards the efficiency of the technique. Most of the operations required for manipulating and/or navigating the objects may be performed by the user (e.g. the designers) on the GUI. Especially, the user may create, modify, and delete the objects forming the product, and also explore the product so as to comprehend how objects are interrelated, e.g. via a product structure. Traditionally, these operations are carried out through dedicated menus and icons which are located on the sides of the GUI. Recently, CAD systems such as CATIA allow calling these functions nearby the representation of the product. The designer does not need anymore to move the mouse towards menus and icons. Operations are thus available within reach of the mouse. In addition, the operations behave semantically: for a given operation selected by the designer, the CAD system may suggests to the designer, still nearby the mouse, a set of new operations according to the former selected operation that the designer is likely to select.
Also known are Product Lifecycle Management (PLM) solutions, which refer to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. By including the actors (company departments, business partners, suppliers, Original Equipment Manufacturers (OEM), and customers), PLM may allow this network to operate as a single entity to conceptualize, design, build, and support products and processes.
Some PLM solutions make it for instance possible to design and develop products by creating digital mockups (a 3D graphical model of a product). The digital product may be first defined and simulated using an appropriate application. Then, the lean digital manufacturing processes may be defined and modeled.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provides an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. The database comprises a set of textual data and relations between the data. Data typically include technical data related to the products said data being ordered in a hierarchy of data and are indexed to be searchable. The data are representative of the modeled objects, which are often modeled products and processes.
Product lifecycle information, including product configuration, process knowledge and resources information are typically intended to be edited in a collaborative way.
Nowadays, as seen above, most of the operations on the modeled objects are graphically performed on CAD systems. Thus, representing the modeled objects plays an important role. The display of a modeled object is the result of a process of computing an image of the modeled object; this process is called rendering. Accordingly, the rendering is the action of creating the image of the modeled object to be displayed, and the image is the result of the rendering. Hence, the terms “computing” and “rendering” an image are synonyms.
Several methods of rendering have been developed and are implemented by CAD systems. Some methods are suitable for photo-realistic rendering, while others are convenient for real-time rendering. Among the photo-realistic renderings, the ray tracing rendering (also referred as ray tracing) is widely implemented by CAD systems. Ray tracing consists in generating an image by tracing the path of the light through pixels in an image plane. In particular, ray tracing allows realistic simulation of lighting over other rendering methods, and effects such as reflections and shadows are a natural result of the ray tracing rendering.
However, ray tracing suffers the drawback that the rendering is not carried out in real time: the method cannot determine a deadline for which the rendering of the image is fully realized. In practice, one considers that a CAD scene is computed in real time if at least 10 images per second may be computed by a CAD system. However, current computer hardware is not always powerful enough to allow computing in real time the full image. Indeed, an image may comprise hundreds of advanced visual effects such as, but not limited to, reflections, shadows, specularity, blow . . . and so on; each advanced visual effect needs computation resources, e.g. computational resources of the CPU and the GPU. As a result, since the resources of the CAD system are limited, a latency period may occur between the start of the computation of the visual effects and the end of their computation. As a result, the display of the image is not instantaneous or real time, which is cumbersome for the designer as there is a lack of interactivity between the CAD system and the designer.
In order to cope with this problem, several techniques had been developed. A classical technique consists in degrading voluntarily the visual rendering during interactions between the displayed modeled object and the designer. Instead of displaying the image of the modeled object with the overall effects, a degraded image is displayed. The degraded image is a basic image which displaying is in progress. Simultaneously, the system checks whether or not the designer still interacts with the displayed modeled object and computes the visual effects. Once a pre-determined time, during which the designer does not interact with the modeled objects, elapsed, a new image comprising the overall effects is then displayed. Incidentally, the pre-determined time may be null, e.g. the new image is displayed as soon as the mouse is released by the user. The classical technique comprises two modes of rendering: the first one is a degraded rendering in which the displayed image does not comprise any visual effect; the second one is a final rendering in which the displayed image comprises all the visual effects.
Nevertheless, the classical technique has several drawbacks. Especially, the transition between the degraded and final images is sudden, which is not ergonomical for the designer and induces a visual discomfort. In addition, the designer does not have any feedback about the progression of the computing of the visual effects. Therefore, the manipulations and navigations performed on the CAD system lack of fluidity: the designer is in situation of waiting. Several techniques have been developed in order to manage the transition between the degraded and final images.
A first method consists in displaying a progress bar. A progress bar is a component in the GUI used to convey the progress of a task, such as a download, a file transfer, or a computation. Thus, the designer can graphically evaluate the remaining time before the computation of the final image ends. However, the display of the final image is still sudden, and its related visual discomfort is not avoided. Moreover, the interactivity between the CAD system and the designer is not improved as the designer has to wait the end of computation of the final image before obtaining a display of the final image.
A second method consists in building, step by step, the final image starting from the degraded image of the modeled object. To this aim, transition images between the degraded image and the final image are successively computed and displayed. A transition image is an image which comprises at least one improved visual effect compared to the former displayed image. The process stops once the last image is the final image, that is, the last image comprises the overall complete effects. Hence, the quality of the degraded image is improved step by step until the computation of the complete visual effects is carried out. As a result, the designer can see the quality increasing until the final image is displayed.
However, despite transition images are displayed, the transition between the degraded and final images is still violent and sudden. Therefore, the designer feels a visual discomfort when viewing the transition between the degraded and final images.
Thus, according to the limitations of the existing solution shortly discussed above, there is a need for an improved method for displaying an object on a computer which enhances the visual comfort of the user.